Il Problema delle due lingue si riferisce alla necessità storica di utilizzare una lingua di alto livello, "lenta" (Python, R, MATLAB) per lo sviluppo prototipale, solo per essere costretti a riscrivere il codice in una lingua di basso livello, "veloce" (C++, Fortran) per l'esecuzione. Cosa possiamo aspettarci dai moderni approcci alla progettazione delle lingue e alle tecniche di compilazione? Julia elimina questa "tassa di riscrittura".
1. Il divario tra produttività e prestazioni
I ricercatori tradizionalmente sacrificano la velocità di esecuzione per facilità d'uso. Julia sfrutta la compilazione basata su LLVM per garantire che le astrazioni di alto livello non comportino una perdita di efficienza a livello macchina.
2. Versatilità e dualità
Il la sintassi di Julia è simile a quella di MATLAB, rendendola immediatamente accessibile, tuttavia si tratta di una lingua molto linguaggio generico capace di indicizzazione web e programmazione di sistemi. Inoltre, Julia è altrettanto utile quanto R nel dominio statistico, ma è perfetta per eseguire entrambi statistica e algebra lineare contemporaneamente senza bisogno di estensioni C.